import UIKit

//
@available(iOS 3.2, *)
extension QKC where AA :UIDocumentInteractionController {
		// default is nil
     open func delegate_qk_s(_ delegate:  UIDocumentInteractionControllerDelegate? ) -> QKC<AA,YY,ZZ, UIDocumentInteractionControllerDelegate? >{
		return link(next: delegate).then_QK { $0.value.delegate = delegate }
	}
     open func delegate_qk_g() -> QKC<AA,YY,ZZ, UIDocumentInteractionControllerDelegate? >{
		 self +^ self.value.delegate
	}

		// default is nil. if set, updates UTI, icon and name
    open func url_qk_s(_ url:  URL? ) -> QKC<AA,YY,ZZ, URL? >{
		return link(next: url).then_QK { $0.value.url = url }
	}
    open func url_qk_g() -> QKC<AA,YY,ZZ, URL? >{
		 self +^ self.value.url
	}

		// determined from name if set, URL otherwise, override if the name or URL uses a custom scheme and the UTI can't be determined automatically
    open func uti_qk_s(_ uti:  String? ) -> QKC<AA,YY,ZZ, String? >{
		return link(next: uti).then_QK { $0.value.uti = uti }
	}
    open func uti_qk_g() -> QKC<AA,YY,ZZ, String? >{
		 self +^ self.value.uti
	}

		// determined from URL, override if the URL uses a custom scheme and the name can't be determined automatically
    open func name_qk_s(_ name:  String? ) -> QKC<AA,YY,ZZ, String? >{
		return link(next: name).then_QK { $0.value.name = name }
	}
    open func name_qk_g() -> QKC<AA,YY,ZZ, String? >{
		 self +^ self.value.name
	}

		// determined from name if set, URL otherwise. will return a generic document icon if an icon cannot be determined. returns an array of icons sorted from smallest to largest.
    open func icons_qk_g() -> QKC<AA,YY,ZZ, [UIImage] >{
		 self +^ self.value.icons
	}

		// additional plist information for application to pass to receiver (must be a plist object). default is nil.
    open func annotation_qk_s(_ annotation:  Any? ) -> QKC<AA,YY,ZZ, Any? >{
		return link(next: annotation).then_QK { $0.value.annotation = annotation }
	}
    open func annotation_qk_g() -> QKC<AA,YY,ZZ, Any? >{
		 self +^ self.value.annotation
	}

	// These gesture recognizers should only be installed on your view when the file has been copied locally and is present at URL.
    open func gestureRecognizers_qk_g() -> QKC<AA,YY,ZZ, [UIGestureRecognizer] >{
		 self +^ self.value.gestureRecognizers
	}

	// Note that you must implement the delegate method documentInteractionControllerViewControllerForPreview: to get the Quick Look menu item.
    open func presentOptionsMenu_qk_f(from rect: CGRect, in view: UIView, animated: Bool) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.presentOptionsMenu(from:rect, in:view, animated:animated)
	}

    open func presentOptionsMenu_qk_f(from item: UIBarButtonItem, animated: Bool) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.presentOptionsMenu(from:item, animated:animated)
	}

	// Note that you must implement the delegate method documentInteractionControllerViewControllerForPreview: to preview the document.
    open func presentPreview_qk_f(animated: Bool) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.presentPreview(animated:animated)
	}

	// Returns NO if there are no applications that can open the item at URL.
    open func presentOpenInMenu_qk_f(from rect: CGRect, in view: UIView, animated: Bool) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.presentOpenInMenu(from:rect, in:view, animated:animated)
	}

    open func presentOpenInMenu_qk_f(from item: UIBarButtonItem, animated: Bool) -> QKC<AA,YY,ZZ,Bool>{
		 self +^ self.value.presentOpenInMenu(from:item, animated:animated)
	}

	// Dismiss the full screen quick look window if it is visible.
    open func dismissPreview_qk_f(animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.dismissPreview(animated:animated) +^ animated
	}

	// Dismiss any visible menus.
    open func dismissMenu_qk_f(animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.dismissMenu(animated:animated) +^ animated
	}

}

